package demo4;

import demo4.controller.UserController;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class Demo {
    public static void main(String[] args) {
        AnnotationConfigApplicationContext context
                = new AnnotationConfigApplicationContext("demo4");
        //AnnotationConfigApplicationContext: 这是一个具体的Spring应用上下文实现，用于从注解配置类或指定的包路径中加载Bean定义。
        //参数 "demo4": 指定要扫描的基础包路径。Spring会自动扫描该包及其子包下的所有带有 @Component, @Service, @Repository, @Controller 等注解的类，并将它们注册为Bean。
        //作用: 初始化Spring容器，完成Bean的发现、创建和依赖注入。
        UserController controller = context.getBean(UserController.class);
        //context.getBean(UserController.class): 从Spring容器中获取 UserController 类型的Bean实例。
        //UserController: 假设这是一个自定义的控制器类，通常用于处理业务逻辑和请求。
        //作用: 获取已经由Spring管理的 UserController 实例，以便后续调用其方法。
        controller.start();
        //controller.start(): 调用 UserController 类中的 start 方法。
        //作用: 启动应用程序的具体逻辑。这个方法可能是初始化某些资源、处理请求或其他业务操作。
        // 调用控制器的方法启动应用
    }
}
